package com.shen.llmtool.modules.deepseek.vo;

import com.fasterxml.jackson.annotation.JsonAlias;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 大模型输出信息vo类
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public class ChoiceVo {
    /**
     * 大模型输出消息对象vo类
     */
    private MessageVo message;
    /**
     * 结束原因
     * 因触发输入参数中的stop条件，或自然停止输出时为stop；
     * 因生成长度过长而结束为length；
     * 因需要调用工具而结束为tool_calls。
     */
    @JsonAlias({"finishReason", "finish_reason"})
    private String finishReason;
}
